﻿using MediatR;
using W.Common.Enum;
using W.Warehouse.Domain;
using W.Warehouse.Domain.AllocationProduct;
using static WMSpublic.ParseAPI;

namespace W.Warehouse.Api.Application.Command.MoveCommand
{
    public class MoveAddCommand : IRequest<ApiResult<int>>
    {
        public int MoveTheLibraryId { get; set; }
        /// <summary>
        /// 移库编号
        /// </summary>
        public string? MoveTheLibraryNo { get; set; }
        /// <summary>
        /// 移库类型
        /// </summary>
        public string? MoveTheLibraryType { get; set; }
        /// <summary>
        /// 关联订单号
        /// </summary>
        public string? AssociateNumber { get; set; }
        /// <summary>
        /// 制单人
        /// </summary>
        public string? SingleMaker { get; set; }
        /// <summary>
        /// 制单时间
        /// </summary>
        public DateTime? MakeTime { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string? MoveRemark { get; set; }
        /// <summary>
        /// 单据状态
        /// </summary>
        public AuditStatus? AuditStatus { get; set; }
        /// <summary>
        /// 公司ID
        /// </summary>
        public string? office_id { get; set; }
        /// <summary>
        /// 用户ID
        /// </summary>
        public int? user_id { get; set; }
        /// <summary>
        /// 审核原因
        /// </summary>
        public string? ExamineReason { get; set; }
        /// <summary>
        /// 审核人
        /// </summary>
        public string? ExaminePeople { get; set; }
        /// <summary>
        /// 审核时间
        /// </summary>
        public DateTime? ExamineTime { get; set; }
        /// <summary>
        /// 修改人
        /// </summary>
        public string? UpdateName { get; set; }
        /// <summary>
        /// 创建人
        /// </summary>
        public string? CreateName { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateTime { get; set; }
        /// <summary>
        /// 是否删除
        /// </summary>
        public bool? IsDelete { get; set; }
        /// <summary>
        /// 仓库ID
        /// </summary>
        public int WarehouseId { get; set; }
        public List<MoveProduct> MoveProduct {  get; set; }
    }
}
